Skip to content

Add Laravel 13 and PHP 8.4 support#84

Closed
tranKILL wants to merge 1 commit intome-shaon:mainfrom
tranKILL:feat/laravel-13-support
Closed

Add Laravel 13 and PHP 8.4 support#84
tranKILL wants to merge 1 commit intome-shaon:mainfrom
tranKILL:feat/laravel-13-support

Conversation

@tranKILL
Copy link
Copy Markdown

Summary

  • Extends illuminate/contracts constraint from ^12.0 to ^13.0
  • Adds PHP 8.4 to the supported PHP versions
  • Updates orchestra/workbench to ^11.0 (required for Laravel 13 testbench)
  • Updates phpunit/phpunit to ^12.0
  • Updates nunomaduro/collision to ^9.0
  • Adds Laravel 13 row to the CI matrix (testbench: 11.*, carbon: ^3.0)
  • Bumps actions/checkout from v5 to v6
  • Excludes PHP 8.1 from the Laravel 13 CI matrix (Laravel 13 requires PHP ≥ 8.2)
  • Excludes PHP 8.4 from the Laravel 10 CI matrix (Laravel 10 does not support PHP 8.4)

Test results

All 207 existing tests pass on PHP 8.4 + Laravel 13.5 with no code changes required — only version constraints were updated.

PHPUnit 12.5.23 by Sebastian Bergmann and contributors.
Runtime: PHP 8.4.20
OK (207 tests, 443 assertions)

Motivation

The package currently cannot be installed in Laravel 13 projects because the latest release (v1.8.0) only declares support up to Laravel 12. No PHP-level changes are needed since the package already uses only stable, forward-compatible Laravel APIs.

- Extend illuminate/contracts constraint to ^13.0
- Add PHP 8.4 to supported versions
- Update orchestra/workbench to ^11.0 for Laravel 13 compatibility
- Update phpunit/phpunit to ^12.0
- Update nunomaduro/collision to ^9.0
- Add Laravel 13 matrix row to CI workflow (testbench 11, Carbon ^3.0)
- Bump actions/checkout to v6
- Exclude PHP 8.1 from Laravel 13 CI matrix (requires PHP >=8.2)
- Exclude PHP 8.4 from Laravel 10 CI matrix

All 207 existing tests pass on PHP 8.4 + Laravel 13.
Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request updates composer.json to support PHP 8.4, Laravel 13, and newer development dependencies including PHPUnit 12. The review feedback recommends simplifying the PHP version constraint to a single caret range and identifies that the PHPUnit configuration file must be updated to comply with the version 12 schema.

Comment thread composer.json
"require": {
"php": "^8.1 | ^8.2 | ^8.3",
"illuminate/contracts": "^10.0 | ^11.0 | ^12.0",
"php": "^8.1 | ^8.2 | ^8.3 | ^8.4",
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The PHP version constraint is redundant. The caret operator (^8.1) already covers all minor versions within the 8.x range, including 8.2, 8.3, and 8.4. Explicitly listing each minor version increases maintenance overhead without providing additional functional constraints.

Suggested change
"php": "^8.1 | ^8.2 | ^8.3 | ^8.4",
"php": "^8.1",

Comment thread composer.json
"phpunit/phpunit": "^10.5 | ^11.0",
"nunomaduro/collision": "^7.8 | ^8.1 | ^9.0",
"orchestra/workbench": "^8.0 | ^9.0 | ^10.0 | ^11.0",
"phpunit/phpunit": "^10.5 | ^11.0 | ^12.0",
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

Upgrading to PHPUnit 12 requires updating the phpunit.xml.dist configuration file. The current file uses the PHPUnit 10.3 schema, which is outdated for version 12 and may lead to configuration errors or ignored settings. The schema and configuration structure should be updated to match PHPUnit 12 requirements.

@tranKILL tranKILL closed this Apr 21, 2026
@tranKILL tranKILL deleted the feat/laravel-13-support branch April 21, 2026 12:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant